project-authorization
Skill10 starsChanged 32 days agoApache-2.0View on GitHub
Ask for project approval before starting repository work, record the approved scope in the control-plane project file indexed by canonical repository slug, and recover authorization after compaction or session changes. Use before implementing, deploying, publishing, merging, spending, moving credentials, cutting over, or retiring resources for a repository.
The file
Show its rules and text
We split this skill into the rules it gives an agent
17 rules. About 0 are common, 16 are distinctive, and 1 is very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈16
Distinctive · estimate
This author's own choices. Worth a look.
1
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- could be automatic: a setting could enforce it
- Distinctive: line 8
Use the control-plane repository's project files as the durable source of work authorization.
- Distinctive: line 24
Use lowercase path components.
- Distinctive: line 26
When work spans multiple repositories, authorize each repository in its own project file.
- Distinctive: line 30
Before starting implementation or any external mutation:
- Distinctive: line 32
Read the project file.
- Distinctive: line 35
If the file is missing or the scope is not already approved, prepare one consolidated authorization request and ask the user before …
- Distinctive: line 36
After direct approval, record it in the project file and commit that file before beginning the approved work.
- Distinctive: line 38
Read-only inspection and preparing the authorization record are allowed before approval.
- Distinctive: line 40
Do not infer approval from a desired outcome, implementation plan, queued prompt, previous summary, or a statement that approval probably …
- Distinctive: line 81
keep the approved scope and limits concrete.
- Distinctive: line 83
commit the authorization before other work.
- Distinctive: line 85
Use logical names and public placeholders.
- Distinctive: line 89
After compaction or session resume, read the project file before asking again.
- Distinctive: line 91
When scope or limits change:
- Distinctive: line 95
Ask for the additional approval before performing the new work.
- Distinctive: line 98
Do not rewrite an earlier approval to make broader work appear authorized.
- Very specific: line 102
When the approved work is complete, set the status to completed and append the completion date.
≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Project authorization
Use the control-plane repository's project files as the durable source of work authorization. Do not rely on conversation summaries as approval evidence.
Locate the project file
Resolve the control-plane repository root from this skill's directory. Project authorization files always live in that repository, even when the approved work changes another repository.
Resolve the repository selected by the user. Otherwise, use the canonical origin remote of the repository being changed.
Derive its canonical slug as <owner>/<repository>. Strip the transport prefix and a trailing .git. Ignore local checkout and worktree directory names. Do not use the branch name.
The project file is:
projects/<owner>/<repository>.mdUse lowercase path components. Preserve the canonical slug and HTTPS repository link in the file frontmatter.
When work spans multiple repositories, authorize each repository in its own project file. Approval for one repository does not authorize another.
Gate work at the beginning
Before starting implementation or any external mutation:
- Read the project file.
- Compare the requested work with its current approved scope and limits.
- Identify every expected credential transfer, paid or recurring resource, deployment, publication, merge, cutover, destructive action, and private-data boundary.
- If the file is missing or the scope is not already approved, prepare one consolidated authorization request and ask the user before starting.
- After direct approval, record it in the project file and commit that file before beginning the approved work.
Read-only inspection and preparing the authorization record are allowed before approval. Code changes and paid work are not. Credential movement and remote mutation are also barred. Do not publish, merge, deploy, or perform destructive actions.
Do not infer approval from a desired outcome, implementation plan, queued prompt, previous summary, or a statement that approval probably happened. Record only a direct user decision or an approval already present in the project file.
Project file format
Use this structure:
---
schema_version: v1
slug: <owner>/<repository>
repository: https://github.com/<owner>/<repository>
default_branch: <branch>
---
# <Project name>
## Current authorization
Status: pending
### Scope
- <work to perform>
### Limits
- <cost, time, credential, deployment, or safety boundary>
## Approval history
### <YYYY-MM-DD>
- Pending: <approval requested>Allowed status values are pending, approved, revoked, and completed.
After approval:
- change
Statustoapproved. - add
Approved at: <RFC 3339 timestamp>. - keep the approved scope and limits concrete.
- append a dated approval-history entry.
- commit the authorization before other work.
Use logical names and public placeholders. Never record secret values, authorization headers, private resource IDs, credential display names, local paths, private topology, or other operator-specific identifiers in this public repository.
Resume and amendments
After compaction or session resume, read the project file before asking again. Apply the same rule after a handoff. Continue without re-asking when the requested action is clearly inside an active approved scope.
When scope or limits change:
- Append a pending amendment to the approval history.
- Set the current status to
pendingif the new work cannot be separated safely. - Ask for the additional approval before performing the new work.
- Record and commit the decision additively.
Do not rewrite an earlier approval to make broader work appear authorized. A revoked, expired, completed, or exceeded authorization cannot admit new work.
Completion
When the approved work is complete, set the status to completed and append the completion date. Preserve the approval history and Git history.
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
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.

