Atlas / Skills / egdev6 / github-repository-bootstrap

github-repository-bootstrapSAFE

skills/egdev6/github-repository-bootstrap

Pi skill that plans and applies repeatable GitHub repository governance: labels, milestones, templates, and Projects v2

Verdict
SAFE
Grade
B
Trust score
89 /100
Version
1.0
Hosts
—
License
MIT
Stars
22
01

Overview

Pi skill that plans and applies repeatable GitHub repository governance: labels, milestones, templates, and Projects v2

Read from source at commit 13172ccc7a29OBSERVED · 2026-10-10
02

What it tells the agent

The instruction file, verbatim from the audited commit — this is the text the model reads, and the surface the audit's instruction layer examines. Quoted here so you can judge it without cloning anything.

---
name: github-repository-bootstrap
description: "Trigger: GitHub repository bootstrap, labels, milestones, issue templates, PR templates, Projects v2, project fields, project views. Plan and apply reusable repository bootstrap safely."
license: MIT
metadata:
  author: gentleman-programming
  version: "1.0"
---

# GitHub Repository Bootstrap

## Activation Contract

Use for repeatable GitHub repository setup, especially when the target already has governance. `assets/config.schema.json` is the configuration contract; `scripts/bootstrap.mjs` is execution authority. Start with read-only reconciliation and read [execution safety](references/execution-safety.md) before planning.

## Hard Rules

- Infer repository, account, stack, and existing governance before asking. Ask only unresolved values open-ended; never invent governance.
- Reconcile before defining: inventory every activated module read-only, classify each resource, and present per-module decisions from [adaptive intake](references/intake.md). Disabled modules cause no module-specific API calls.
- Build a reviewed manifest from confirmed facts and decisions. Labels, milestones, files, templates, and Projects v2 are optional; omit a module to leave it out. `managed: false` gates updates but never disables a module.
- Preserve configured resources: discover before every ensure, create missing resources, update only `managed: true` resources or `mode: "replace"` templates, and never delete.
- The file, template, and reconciliation boundaries in [execution safety](references/execution-safety.md) are mandatory.
- Run `plan` before mutation; apply only with the exact SHA-256 authorization value from that reviewed plan, and never reuse it after any config, target, discovery, or plan change.
- Require `gh`, authentication, applicable scopes, target access, and valid configuration before mutation.

## Decision Gates

| Situation | Action |
| --- | --- |
| Resource matches the manifest | Skip safely, report alignment, ask nothing. |
| Resource missing, module intended | Propose a create; confirm intent only if not already explicit. |
| Resource differs or is incompatible | Ask one per-module choice: `apply`, `adapt`, or `leave`. |
| Discovery or permission unavailable | Never assume absent; stop that module's decision. |
| No interactive authority | Stop with a decision-required handoff; invent no flags. |
| Decision, manifest, or state changed | Reconcile again and regenerate the final plan. |

## Execution Steps

1. Follow [adaptive intake](references/intake.md): reconcile read-only, decide per module, then build the manifest.
2. Validate the reviewed manifest against the schema.
3. Plan: `node .pi/skills/github-repository-bootstrap/scripts/bootstrap.mjs --config governance.json --mode plan`.
4. Review the report and approve its exact authorization value.
5. Apply that command with `--mode apply --authorize '<authorization.value>'`.
6. Verify the report, archive it, report unsupported views, and record the decision ledger.

## Output Contract

Emit one JSON report with validation, discovery, plan, completed, skipped, and failure evidence; nonzero exit never claims success and partial mutations stay visible. Return the reconciliation ledger separately in the response or a local artifact — module, state, source, proposed diff, user decision, revised manifest — without new schema fields or approval flags. A plain plan is read-only evidence, never permission.

## References

- [Adaptive intake](references/intake.md)
- [Execution safety](references/execution-safety.md)
- [CI advisor](../github-ci-advisor/SKILL.md)
- [Repository security review](../repository-security-review/SKILL.md)
- [Configuration schema](assets/config.schema.json)
- [Example configuration](assets/example.config.json)
- [Bootstrap executor](scripts/bootstrap.mjs)
03

Trust audit

SAFEgrade B · trust 89/100 Nothing in the source contradicts what it says it does. Grade A is reserved for packages that have also passed the behavioural sandbox.

LayerWhat it checksResult
L0Provenance & inventoryPASS
L1Static analysis of the codePASS
L2Instruction surface (what it tells the agent)PASS
L3Class-specific surfacePASS
L4Behavioural (sandbox)SKIPPED

What the source does

Filesystem
none-observed
Network
none-observed
Shell
none-observed
Dependencies
pinned
Secrets in source
none-found

Findings (7)

LOWFilesystem / path · fs.system_paths · CWE-22, CWE-59
tests/project-sync-vm.test.mjs:186
['require("node:fs").readFileSync("/etc/hosts", "utf8")', /unknown path/],
LOWFilesystem / path · fs.system_paths · CWE-22, CWE-59
tests/workflow-vm.test.mjs:140
['require("node:fs").readFileSync("/etc/hosts", "utf8")', /unknown path/],
LOWFilesystem / path · fs.traversal · CWE-22, CWE-59
tests/actionlint-fixtures.mjs:7
import { lintWorkflows } from "../../../scripts/lint-workflows.mjs";
LOWFilesystem / path · fs.traversal · CWE-22, CWE-59
tests/actionlint-fixtures.mjs:13
const LINT_URL = new URL("../../../scripts/lint-workflows.mjs", import.meta.url);
LOWFilesystem / path · fs.traversal · CWE-22, CWE-59
tests/advisor.test.mjs:13
const repoRoot = path.resolve(path.dirname(fileURLToPath(import.meta.url)), "../../..");
LOWFilesystem / path · fs.traversal · CWE-22, CWE-59
tests/gitleaks-fixtures.mjs:12
const repoRoot = path.resolve(path.dirname(fileURLToPath(import.meta.url)), "../../..");
LOWFilesystem / path · fs.traversal · CWE-22, CWE-59
tests/helpers/project-sync-fixtures.mjs:10
export const PROJECT_SYNC_ASSET = readFileSync(new URL("../../assets/templates/project-issue-sync.yml", import.meta.url), "utf8");

Gates applied: no_behavioural_pass.

Audited 2026-10-10 · audit v0.4.1 · source sha 13172ccc7a29full audit observations/trust-audit/skill/egdev6__github-repository-bootstrap.json · Report an issue / request a re-scan
04

Audit history

Every audit this skill has had.

DateSourceVerdictGradeScoreChange
2026-10-1013172ccc7a29SAFEB89first audit
05

Questions

What does the github-repository-bootstrap skill do?

Pi skill that plans and applies repeatable GitHub repository governance: labels, milestones, templates, and Projects v2

Is github-repository-bootstrap safe to install?

The audit found nothing in the source that contradicts what it says it does, and graded it B (89/100). Grade A is held back for packages that have also passed a sandboxed behavioural run, which is why a clean skill reads B.

What can github-repository-bootstrap access on my machine?

The audit observed no filesystem, network or shell use at all in its source.

What do I need installed to use github-repository-bootstrap?

Its own instructions reference gh. Dependencies are pinned to exact versions.

How current is this page?

The grade is for one exact copy of the source (13172ccc7a29), read on 2026-10-10. The repository is watched, and a new audit runs when it changes — this is the first audit.

Advertisement