approve
Skill0 starsChanged 7 months agoMITView on GitHub
Approve one or more BDSK artifacts in a single command. Handles the YAML surgery of changing status, adding approvals entries, and updating timestamps. Supports single, batch, and cascading approval. Use instead of manually editing artifact YAML files.
We split this skill into the rules it gives an agent
9 rules. 0 are common, 4 are distinctive, and 5 are very specific to this project.
0
Common
Most of the 3 edited versions we read keep these.
4
Distinctive
This author's own choices. Worth a look.
5
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 56
If more than 1 artifact, ask for confirmation via AskUserQuestion.
- Very specific: line 61
All others: draft → approved b.
- Very specific: line 79
Update updated_at to current timestamp
- Very specific: line 84
Write the execution plan ID to .claude/state/active-executions/<plan-id>.yaml
- Distinctive: line 88
Never approve an artifact that has errors (run a basic validation check first)
- Distinctive: line 90
If a single artifact is already approved/accepted, print "Already approved: <id>" and exit
- Distinctive: line 91
If batch/cascading and some artifacts are already approved, show which ones will be skipped
- Very specific: line 93
When approving behavior_specs that have status: draft appearing in examples too, use enough context to only match the envelope status field
- Very specific: line 95
Approvals format: MUST be {authority_role: <role>, approver: <user>, approved_at: <ISO-8601>}.
“Common” is measured: kept by at least 6 in 10 of the 3 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
/approve
Approve BDSK artifacts in one command.
Input
The user provides artifact IDs, patterns, or flags: $ARGUMENTS
Modes
Single: /approve BS-login-001
Approve one artifact by exact ID.
Batch: /approve --all-draft behaviors
Approve all artifacts of a given kind that are in draft/proposed status. Valid kinds: behaviors, assumptions, plans, gates, policies, contracts.
Cascading: /approve --plan EP-feature-001
Approve an execution plan AND all its upstream dependencies (behavior specs, assumptions) that are still draft/proposed. This is the most common workflow — approve everything needed to start execution.
Override: /approve --as product_authority BS-login-001
Override the inferred authority role.
Process
- Resolve targets. Based on the input mode:
- Single: Glob
artifacts/**/*.yaml, find the file containingid: <target> - Batch: Glob
artifacts/<kind>/*.yaml, filter bystatus: draftorstatus: proposed - Cascading: Read the plan's
trace.upstream, collect all target IDs, resolve each
- Single: Glob
- Preview. Show the user what will be approved:
If more than 1 artifact, ask for confirmation via AskUserQuestion.Will approve 5 artifacts: BS-login-001 (behavior_spec, draft → approved) BS-signup-002 (behavior_spec, draft → approved) AR-session-001 (assumption_record, proposed → accepted) AR-jwt-001 (assumption_record, proposed → accepted) EP-feature-001 (execution_plan, draft → approved) - Apply. For each artifact:
a. Determine the new status:
assumption_record:proposed→accepted- All others:
draft→approvedb. Infer the authority role (unless--asoverrides): behavior_spec→technical_authorityassumption_record(area: product) →product_authorityassumption_record(area: architecture) →technical_authorityassumption_record(area: security) →security_authorityassumption_record(area: compliance) →product_authorityassumption_record(area: other) →product_authorityexecution_plan→technical_authoritycodegen_policy→technical_authorityreview_gate→technical_authoritycontract_artifact→technical_authorityc. Edit the file:- Change
status: draft(orproposed) to the new status - Replace
approvals: []with an approvals entry containing:authority_role: inferred or overridden roleapprover: current user (fromowners[0]in the artifact)approved_at: current ISO-8601 timestamp
- Update
updated_atto current timestamp
- Report. Print summary of what was approved.
- If cascading plan approval, also activate scope enforcement:
- Write the execution plan ID to
.claude/state/active-executions/<plan-id>.yaml
- Write the execution plan ID to
Rules
- Never approve an artifact that has errors (run a basic validation check first)
- For cascading approval, always show the full list before proceeding
- If a single artifact is already approved/accepted, print "Already approved:
<id>" and exit - If batch/cascading and some artifacts are already approved, show which ones will be skipped
- The
approvals: []→ structured entry replacement must handle both empty array and missing field - When approving behavior_specs that have
status: draftappearing in examples too, use enough context to only match the envelope status field - Canonical authority roles (only use these 5):
product_authority,technical_authority,security_authority,release_authority,qa_authority. Never use invented role names likespec_approver,plan_approver, orassumption_approver. - Approvals format MUST be
{authority_role: <role>, approver: <user>, approved_at: <ISO-8601>}. Not{date, decision}or any other structure.
Other versions3 projects use a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 3
- drobins25/craft★ 70same name
- tornikebolokadze1-cyber/agent-foundation-kit★ 4same name
- iadr-dev/greenlight★ 1same name
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
Reviews can't be read right now.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

